<?php

namespace app\admin\controller;

use think\Controller;
use think\Db;
use think\Request;
use think\Session;


class Index extends Controller
{
    /**
     * 后台登录页面
     * @return \think\response\View
     */
    public function index()
    {
        return view('admin@index/login');
    }

    /**
     * 后台登录处理
     * @return \think\response\View
     */
    public function logindo(Request $request)
    {
        //接收用户名和密码
        $username = input('username');
        $userpass = input('userpass');
        // var_dump($username,$password);

        // 如果有session清除session
        Session::clear();
        // Session::clear('think');

        // 按用户名查询数据
        $data = db('lamp_user')->where(array('username'=>$username))->find();
        var_dump($data);
        if (!$data) {

            $this->error('用户名不存在！');
            exit;

        }

        //验证密码
        if ($data['userpass'] != md5($userpass)) {

            $this->error('密码不正确');
            exit;

        }

        //把用户信息存入session
        $a =Session::set('user',$data);
        // var_dump($_SESSION);die;

        $list = db('lamp_node')
                // 查询权限表下的控制器,方法
                ->field('mname,aname')
                // 查询角色权限表,
                ->where('id in'.db('lamp_role_node')
                // 权限id字段
                ->field('nid')
                // 查询用户角色表,角色表下的角色ID
                ->where("rid in ".db('lamp_user_role')
                // 角色ID字段
                ->field('rid')
                //
                ->where(array('uid'=>array('eq',$data['id'])))->buildSql())
                ->buildSql())
                ->select();

        // var_dump($list);die;

        //控制器名转换为大写
        foreach ($list as $key => $val) {

            $list[$key]['mname'] = ucfirst($val['mname']);

        }

        // var_dump($list);


        $access = array();

        $access['Index'] = array('index');
        // var_dump($access);

        //遍历重新拼装
        foreach($list as $v){

            $access[$v['mname']][] = $v['aname'];

            //把修改和执行修改 添加和执行添加 拼装到一起

            if($v['aname'] == "find"){

                $access[$v['mname']][] = "updata";

            }

            if($v['aname'] == "add"){

                $access[$v['mname']][] = "save";

            }
        }
        // var_dump($access);die;

        //将权限信息导入session
        Session::set('list',$access);

        // 跳转
        $this->redirect('admin/main/index');
    }
    /**
     * 后台登出处理
     // * @return \think\response\View
     */
    public function logout()
    {
        $this->redirect('admin/index/index');
    }

}
